package com.liam.algorithm;

public class SelectSort {

    static int[] list = new int[]{3, 1, 7, 5, 9, 4, 2};

    public static void main(String[] args) {
        list = select(list);
        for (int n : list) {
            System.out.println(n);
        }
    }

    /**
     * 选择排序     n-1 次       低效率
     *
     * 首先在未排序序列中找到最小元素，存放到排序序列的起始位置
     * 再从剩余未排序元素中继续寻找最小元素，然后放到已排序序列的末尾。
     * 以此类推，直到所有元素均排序完毕
     *
     * @param list
     * @return
     */
    private static int[] select(int[] list) {
        int temp;
        int index;
        for (int i = 0; i < list.length - 1; i++) {
            index = i;
            for (int j = list.length - 1; j > i; j--) {
                if (list[index] > list[j]) {
                    index = j;
                }
            }
            temp = list[i];
            list[i] = list[index];
            list[index] = temp;
        }
        return list;
    }

}
